/**
 * timeline
 */

.timeline {
  .time-label {
    position: relative
  }
  .box {
    position: relative
  }
  .chapterTogger {
    position: absolute;
    bottom: 2px;
    left: -10px;
    z-index: 10;
    width: 20px;
    height: 20px;
    padding: 0;
    color: #ddd;
    background-color: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    outline: 0;
    &:before,
    &:after {
      position: absolute;
      top: 4px;
      left: 4px;
      display: block;
      content: ' ';
      background-color: #ddd;
      -webkit-transition: background-color .4s cubic-bezier(.175, .885, .32, 1);
      transition: background-color .4s cubic-bezier(.175, .885, .32, 1)
    }
    &:before {
      left: 8px;
      display: none;
      width: 1px;
      height: 9px
    }
    &:after {
      top: 8px;
      width: 9px;
      height: 1px
    }
    &:hover {
      border-color: #e5e5e5;
      &:before,
      &:after {
        background-color: #e5e5e5;
      }
    }
  }
  .chapter-header {
    padding: 25px 0 0 23px;
  }
  .chapter-body {
    position: relative;
    padding: 0 0 30px 23px;
    &:before {
      position: absolute;
      top: -60px;
      bottom: 0;
      left: 0;
      display: block;
      content: ' ';
      border-left: 1px dotted #e5e5e5;
    }
  }
}

.chapter-body {
  >section {
    position: relative;
    &:before {
      position: absolute;
      top: 28px;
      bottom: -25px;
      left: -24px;
      display: block;
      content: ' ';
      border-left: 1px dotted transparent
    }
    &:last-child:before {
      bottom: 0
    }
    >header {
      position: relative;
      padding-top: 20px;
      padding-bottom: 10px;
      &:before {
        position: absolute;
        top: 23px;
        left: -28px;
        display: block;
        width: 10px;
        height: 10px;
        content: ' ';
        background-color: #e5e5e5;
        border-radius: 5px;
        -webkit-transition: background-color .2s cubic-bezier(.175, .885, .32, 1);
        transition: background-color .2s cubic-bezier(.175, .885, .32, 1)
      }
      &:after {
        position: absolute;
        top: 28px;
        left: -18px;
        display: block;
        width: 16px;
        content: ' ';
        border-bottom: 1px dotted #e5e5e5
      }
      >h4 {
        display: inline-block;
        margin: 0;
        cursor: pointer;
        &:before,
        &:after {
          position: absolute;
          top: 25px;
          left: -24px;
          content: ' ';
          -webkit-transition: background-color .2s cubic-bezier(.175, .885, .32, 1);
          transition: background-color .2s cubic-bezier(.175, .885, .32, 1)
        }
        &:before {
          display: none;
          width: 1px;
          height: 7px;
        }
        &:after {
          top: 28px;
          left: -27px;
          width: 7px;
          height: 1px;
        }
      }
    }
  }
}